package com.fund.com.entity;


import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fund.serializer.LongToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

import static com.fund.utils.AppDateUtil.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static com.fund.utils.AppDateUtil.TIME_ZONE_DEFAULT;

/**
 * (TPosts)表实体类
 *
 * @author makejava
 * @since 2023-02-15 19:42:49
 */
@Data
@Accessors(chain = true)
@SuppressWarnings("serial")
public class TPosts extends Model<TPosts> {


    @TableId
    @JsonSerialize(using = LongToStringSerializer.class)
    private Long posId;
    @JsonSerialize(using = LongToStringSerializer.class)
    private Long userId;
    /**
     * 帖子标题
     */
    private String posTitle;
    /**
     * 帖子内容
     */
    private String posContent;
    /**
     * 帖子日期
     */
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private Date posDate;
    /**
     * 帖子热度（点赞，收藏的话会额外+10）
     */
    @JsonSerialize(using = LongToStringSerializer.class)
    private Long posHot;
    /**
     * 帖子状态（0为正常，1为删除状态 ）   用户只能改状态，管理员可以删除
     */
    private String posStatus;
    /**
     * (0公开，1私有)
     */
    private String posType;
    /**
     * (0默认，1审核，2违规)
     */
    private String posOff;


    /**
     * 获取主键值
     *
     * @return 主键值
     */
    @Override
    protected Serializable pkVal() {
        return this.posId;
    }
}

